package com.ym.medical.dao;

import com.ym.medical.domain.entity.HospitalEntity;
import com.ym.medical.domain.param.HosSosQryParam;
import com.ym.medical.domain.param.HospitalParam;
import com.ym.medical.domain.param.HospitalRankEditParam;
import com.ym.medical.domain.vo.*;
import com.ym.medical.domain.param.HospitalQueryParam;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

/**
 * 【请填写功能名称】Dao接口
 *
 * @author ym
 * @date 2020-08-19
 */
@Repository
public interface HospitalDao extends Mapper<HospitalEntity> {

    /**
     * 查询【请填写功能名称】列表,PC专用不要轻易混用更改
     *
     * @param queryParam 【请填写功能名称】查询参数
     * @return 【请填写功能名称】集合
     */
    List<HospitalListPcVO> selectListPC(HospitalQueryParam queryParam);

    /**
     * 手机端医院列表
     *
     * @param queryParam
     * @return
     */
    List<HospitalListVO> selectHospitals(HospitalQueryParam queryParam);

    /**
     * 医院id 查询 医院 医生 科室排名
     *
     * @param id
     * @param currId
     * @return
     */
    HospitalDetailVo resultMap(@Param("id") Long id, @Param("currId") Long currId);

    /**
     * 急救医院列表
     *
     * @param sosQryParam
     * @return
     */
    List<HosSosVo> hosSos(HosSosQryParam sosQryParam);
    /**
     * oso pc 医院列表
     *
     * @param hospitalQryParam
     * @return
     */
    List<HospitalVo> hospitalList(HospitalQueryParam hospitalQryParam);

    /**
     * pc医院详情
     * @param id
     * @param currId
     * @return
     */
    HospitalDetailVo resultPcMap(
            @Param("id") Long id,
            @Param("currId") Long currId);

    /**
     * 医院排名列表
     *
     * @param hospitalQryParam
     * @return
     */
    List<HospitalVo> hospitalRankList(HospitalQueryParam hospitalQryParam);

    /**
     * 医院排名修改
     *
     * @param hospitalEditParam
     * @return
     */
    int updateByMyId(HospitalRankEditParam hospitalEditParam);

    /**
     * 医院列表查询
     * @param hospitalModel
     * @return
     */
	List<HospitalEntity> getHospitalList(HospitalParam hospitalModel);
    /**
     * 所有医院信息
     * @return
     */
    List<HospitalEntity> getAllhospitalList(HospitalParam model);
    /**
     * 所有医院名
     * @return
     * @param hosName
     */

    List<HospitalEntity> selectHosName(@Param("hosName") String hosName);
}
